package com.example.demo.config;
import com.example.demo.web.FirstServlet;
import com.example.demo.web.MyFilter;
import com.example.demo.web.MyListener;
import com.example.demo.web.SecondServlet;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Arrays;


@Configuration
/*@AutoConfiguration*/
public class WebConfigure {
//    @Bean("firstServlet")
//    public FirstServlet firstServlet(){
//        return  new FirstServlet();
//    }
//    @Bean("secondServlet")
//    public SecondServlet secondServlet(){
//        return  new SecondServlet();
//    }
//    @Bean
//    public MyFilter myFilter(){
//        return  new MyFilter();
//    }
//    @Bean
//    public MyListener myListener(){
//        return  new MyListener();
//    }
    @Bean
    public ServletRegistrationBean fistServlet(){
        return  new ServletRegistrationBean(new FirstServlet(),"/first");
    }
    @Bean
    public ServletRegistrationBean secondServlet(){
        return  new ServletRegistrationBean(new SecondServlet(),"/second");
    }
    @Bean
    public FilterRegistrationBean myFilter(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new MyFilter());
        filterRegistrationBean.setUrlPatterns(Arrays.asList("/first"));
        return  filterRegistrationBean;
    }
    @Bean
    public ServletListenerRegistrationBean myListener(){
        return  new ServletListenerRegistrationBean(new MyListener());
    }
}
